home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Programming Sound Cards
/
Programming Sound Cards.iso
/
sound_57
/
turbmous.pas
< prev
next >
Wrap
Pascal/Delphi Source File
|
1995-01-01
|
4KB
|
231 lines
{ Functions and subroutines for use with the PC Mouse.
Converted to TP4 unit by Rowan McKenzie 5/3/89 from Turbmous.pas}
Unit turbmous;
Interface
Uses dos;
Function MsMouse : Boolean;
Procedure Reset_mouse; { resets mouse internal variables }
Procedure Show_mouse; { displays the mouse cursor on the screen }
Procedure Hide_mouse; { Hides the mouse cursor on the screen }
Procedure Get_mouse_status(Var m2, m3, m4 : Integer);
Procedure Put_mouse(x, y : Integer);
Procedure Get_mouse_button_pressed(Var m1, m2, m3, m4 : Integer);
Procedure Get_mouse_button_released(Var m1, m2, m3, m4 : Integer);
Procedure Set_mouse_X_range(Min, Max : Integer);
Procedure Set_mouse_Y_range(Min, Max : Integer);
Procedure Set_Graphics_Icon(Var xspot, yspot, icon_pointer : Integer);
Procedure Set_text_cursor(cursor_type, start, stop : Integer);
Procedure Mouse_motion(Var xcounter, ycounter : Integer);
Procedure mouse_mickeys(x, y : Integer);
Procedure mouse_DST(mickeys : Integer);
Implementation
Function MsMouse : Boolean;
Var
MouseR : registers;
Begin
mouser.ax:=0;
intr($33,mouser);
msmouse:=(mouser.ax<>0);
End; { MsMouse }
Procedure Reset_mouse; { resets mouse internal variables }
Var
MouseR : registers;
Begin
MouseR.ax := 0;
intr($33, MouseR);
End;
Procedure Show_mouse; { displays the mouse cursor on the screen }
Var
MouseR : registers;
Begin
MouseR.ax := 1;
intr($33, MouseR);
End;
Procedure Hide_mouse; { Hides the mouse cursor on the screen }
Var
MouseR : registers;
Begin
MouseR.ax := 2;
intr($33, MouseR);
End;
Procedure Get_mouse_status(Var m2, m3, m4 : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 3;
intr($33, MouseR);
m2 := MouseR.bx;
m3 := MouseR.cx;
m4 := MouseR.dx;
End;
Procedure Put_mouse(x, y : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 4;
MouseR.cx := x;
MouseR.dx := y;
intr($33, MouseR);
End;
Procedure Get_mouse_button_pressed(Var m1, m2, m3, m4 : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 5;
MouseR.bx := m2;
intr($33, MouseR);
m1 := MouseR.ax;
m2 := MouseR.bx;
m3 := MouseR.cx;
m4 := MouseR.dx;
End;
Procedure Get_mouse_button_released(Var m1, m2, m3, m4 : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 6;
MouseR.bx := m2;
intr($33, MouseR);
m1 := MouseR.ax;
m2 := MouseR.bx;
m3 := MouseR.cx;
m4 := MouseR.dx;
End;
Procedure Set_mouse_X_range(Min, Max : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 7;
MouseR.cx := Min;
MouseR.dx := Max;
intr($33, MouseR);
End;
Procedure Set_mouse_Y_range(Min, Max : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 8;
MouseR.cx := Min;
MouseR.dx := Max;
intr($33, MouseR);
End;
Procedure Set_Graphics_Icon(Var xspot, yspot, icon_pointer : Integer);
{ cga mode only}
Var
MouseR : registers;
Begin
MouseR.ax := 9;
MouseR.bx := xspot;
MouseR.cx := yspot;
MouseR.dx := icon_pointer;
intr($33, MouseR);
End;
Procedure Set_text_cursor(cursor_type, start, stop : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 10;
MouseR.bx := cursor_type;
MouseR.cx := start;
MouseR.dx := stop;
intr($33, MouseR);
End;
Procedure Mouse_motion(Var xcounter, ycounter : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 11;
intr($33, MouseR);
xcounter := MouseR.cx;
ycounter := MouseR.dx;
End;
Procedure mouse_mickeys(x, y : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 15;
MouseR.cx := x;
MouseR.dx := y;
intr($33, MouseR);
End;
Procedure mouse_DST(mickeys : Integer);
Var
MouseR : registers;
Begin
MouseR.ax := 19;
MouseR.dx := mickeys;
intr($33, MouseR);
End;
End.